﻿using System;

namespace SharpSqlAnalyzer.nodes.hive
{
	// Token: 0x02000405 RID: 1029
	public class THiveDescribeSqlNode : TParseTreeNode
	{
		// Token: 0x06002815 RID: 10261 RVA: 0x0033C3C0 File Offset: 0x0033A5C0
		public virtual void setDescOption(TSourceToken token)
		{
			if (token == null)
			{
				return;
			}
			if (token.tokencode == 535)
			{
				this.descOption = EHiveDescOption.doFormatted;
				return;
			}
			if (token.tokencode == 536)
			{
				this.descOption = EHiveDescOption.doExtended;
				return;
			}
			if (token.tokencode == 537)
			{
				this.descOption = EHiveDescOption.doPretty;
			}
		}

		// Token: 0x06002816 RID: 10262 RVA: 0x0033C40F File Offset: 0x0033A60F
		public virtual EHiveDescOption getDescOption()
		{
			return this.descOption;
		}

		// Token: 0x17000913 RID: 2323
		// (get) Token: 0x06002817 RID: 10263 RVA: 0x0033C417 File Offset: 0x0033A617
		public virtual TObjectName DbName
		{
			get
			{
				return this.dbName;
			}
		}

		// Token: 0x17000914 RID: 2324
		// (get) Token: 0x06002818 RID: 10264 RVA: 0x0033C41F File Offset: 0x0033A61F
		public virtual EHiveDescribleType DescribleType
		{
			get
			{
				return this.describleType;
			}
		}

		// Token: 0x17000915 RID: 2325
		// (get) Token: 0x06002819 RID: 10265 RVA: 0x0033C427 File Offset: 0x0033A627
		public virtual TObjectName FunctionName
		{
			get
			{
				return this.functionName;
			}
		}

		// Token: 0x17000916 RID: 2326
		// (get) Token: 0x0600281A RID: 10266 RVA: 0x0033C42F File Offset: 0x0033A62F
		public virtual THiveDescTablePartition TablePartition
		{
			get
			{
				return this.tablePartition;
			}
		}

		// Token: 0x0600281B RID: 10267 RVA: 0x0033C438 File Offset: 0x0033A638
		public override void init(object arg1, object arg2)
		{
			this.describleType = (EHiveDescribleType)arg1;
			switch (this.describleType)
			{
			case EHiveDescribleType.dtTablePartition:
				this.tablePartition = (THiveDescTablePartition)arg2;
				return;
			case EHiveDescribleType.dtFunction:
				this.functionName = (TObjectName)arg2;
				return;
			case EHiveDescribleType.dtDatabase:
				this.dbName = (TObjectName)arg2;
				return;
			default:
				return;
			}
		}

		// Token: 0x04001E30 RID: 7728
		private EHiveDescribleType describleType;

		// Token: 0x04001E31 RID: 7729
		private TObjectName functionName;

		// Token: 0x04001E32 RID: 7730
		private TObjectName dbName;

		// Token: 0x04001E33 RID: 7731
		private THiveDescTablePartition tablePartition;

		// Token: 0x04001E34 RID: 7732
		private EHiveDescOption descOption;
	}
}
